home *** CD-ROM | disk | FTP | other *** search
/ Ultra Gameplayers 101 / Ultra Game Players Magazine, No. 101 - September 1997 (Imagine Publishing, Inc.)(1997).iso / pc / new_ugp.dxr / 00342_String Utilities.ls < prev    next >
Encoding:
Text File  |  1997-07-10  |  2.3 KB  |  91 lines

  1. on delpush newdelimiter
  2.   global delimiterlist
  3.   if not listp(delimiterlist) then
  4.     set delimiterlist to []
  5.   end if
  6.   append(delimiterlist, the itemDelimiter)
  7.   set the itemDelimiter to newdelimiter
  8. end
  9.  
  10. on delpop
  11.   global delimiterlist
  12.   if not listp(delimiterlist) then
  13.     set delimiterlist to []
  14.   end if
  15.   if count(delimiterlist) > 0 then
  16.     set the itemDelimiter to getLast(delimiterlist)
  17.     deleteAt(delimiterlist, count(delimiterlist))
  18.   else
  19.     set the itemDelimiter to ","
  20.   end if
  21. end
  22.  
  23. on replace basetext, oldtext, newText
  24.   set buffer to EMPTY
  25.   set pos to offset(oldtext, basetext)
  26.   repeat while pos > 0
  27.     if pos > 1 then
  28.       set buffer to buffer & char 1 to pos - 1 of basetext & newText
  29.       delete char 1 to pos + length(oldtext) - 1 of basetext
  30.     else
  31.       set buffer to buffer & newText
  32.       delete char 1 to length(oldtext) of basetext
  33.     end if
  34.     set pos to offset(oldtext, basetext)
  35.   end repeat
  36.   set buffer to buffer & basetext
  37.   return buffer
  38. end
  39.  
  40. on symbol mystr
  41.   if listp(mystr) then
  42.     set mylist to mystr
  43.     set endlist to [:]
  44.     repeat with mystr in mylist
  45.       set mystr to replace(mystr, " ", "_")
  46.       set mysymbol to value("#" & mystr)
  47.       addProp(endlist, mysymbol, 0)
  48.     end repeat
  49.     return endlist
  50.   else
  51.     set mystr to replace(mystr, " ", "_")
  52.     set mysymbol to value("#" & mystr)
  53.     return mysymbol
  54.   end if
  55. end
  56.  
  57. on listtotext mylist, delimiter
  58.   set delimiter to default(the itemDelimiter, delimiter)
  59.   set buffer to EMPTY
  60.   repeat with entry in mylist
  61.     set buffer to buffer & entry & delimiter
  62.   end repeat
  63.   set dellength to length(delimiter)
  64.   delete char length(buffer) - dellength + 1 to length(buffer) of buffer
  65.   return buffer
  66. end
  67.  
  68. on texttolist mytext, delimiter
  69.   set delimiter to default(the itemDelimiter, delimiter)
  70.   delpush(delimiter)
  71.   set baselist to []
  72.   repeat with index = 1 to the number of items in mytext
  73.     append(baselist, item index of mytext)
  74.   end repeat
  75.   delpop()
  76.   return baselist
  77. end
  78.  
  79. on safetext mytext
  80.   set mytext to replace(mytext, QUOTE, "\'")
  81.   set mytext to replace(mytext, numToChar(10), EMPTY)
  82.   return mytext
  83. end
  84.  
  85. on outsafeput mytext
  86.   set mytext to replace(mytext, "\n", RETURN)
  87.   set mytext to replace(mytext, "\t", TAB)
  88.   set mytext to replace(mytext, "\'", QUOTE)
  89.   return mytext
  90. end
  91.